﻿using System.Collections.Generic;
using System.Threading.Tasks;
using YXChatApiService.Application.BuddyServices.Dtos;
using YXChatApiService.ServiceCollectionExtension;

namespace YXChatApiService.Application.BuddyServices
{
    public interface IBuddyAppService:ITransientDependency
    {
        /// <summary>
        /// 创建好友关系，发起请求
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<bool> CreateOrUpdateBuddy(BuddyCreateOrUpdateInput dto);
        /// <summary>
        /// 删除好友关系
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<bool> DeleteBuddy(BuddyDto dto);
        /// <summary>
        /// 查询所有的好友
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<List<BuddyAccountOutput>> GetBuddyAll(string accountNumber);
        /// <summary>
        /// 查询好友信息
        /// </summary>
        /// <param name="accountNumber"></param>
        /// <returns></returns>
        Task<BuddyAccountOutput> SearchBuddyInfo(string selfNumber,string accountNumber);
        /// <summary>
        /// 获取新朋友集合
        /// </summary>
        /// <param name="selfNumber"></param>
        /// <returns></returns>
        Task<List<BuddyAccountOutput>> GetNewBuddyList(string selfNumber);
    }
}